home *** CD-ROM | disk | FTP | other *** search
- 10 REM SOLAR
- 20 E=380 :L=27:REM SET NUMBER OF ORBITAL POINTS
- 30 ER=90:LR=25 :REM SET ORBIT SIZES OF EARTH AND MOON
- 40 DIM P2(E),Q2(E),P3(L),Q3(L)
- 50 PRINT"[147]CALCULATING ORBITS PLEASE WAIT"
- 60 PRINT:PRINT" ABOUT 45 SECONDS !"
- 240 REM SET UP SPRITE DEFINITIONS
- 250 FORJ=0TO6*64-1
- 260 READ X:POKE 58368+J,X
- 270 NEXT J
- 290 V=208*256
- 300 POKE V+32,0:POKE V+33,0 :REM SET SCREEN BLACK
- 320 FOR J=57344 TO 58343:POKE J, 0:NEXT J:REM CLEAR NEW SCREEN MAP
- 325 FOR J=0 TO 5:POKE58360+J,144+J:NEXT J:REM SET SPRITE POINTERS
- 400 POKE V+41,7:POKE V+42,7:POKE V+43,7:POKE V+44,7 :REM SET SUN YELLOW
- 410 POKE V+40,5:POKE V+39,6:REM SET EARTH GREEN AND MOON BLUE
- 420 POKE V+4,160:POKE V+5,130:REM POKE COORDINATES OF SUN (4 QUADRANTS)
- 430 POKE V+6,184:POKE V+7,130
- 440 POKE V+8 ,160:POKE V+9 ,149
- 450 POKE V+10,184:POKEV+11,149
- 460 PRINT"[147]"
- 470 REM CALCULATE ORBITS
- 520 S=2*(null)/E: REM NEXT EARTH
- 530 FOR J=1 TO E
- 540 P2(J)=INT(1.2*ER*SIN(S*J)+184):Q2(J)=INT(ER*COS(S*J)+149)
- 550 NEXT J
- 560 S=2*(null)/L: REM NEXT THE MOON
- 570 FOR J=1 TO L
- 580 P3(J)=INT(1.2*LR*SIN(S*J)):Q3(J)=INT(LR*COS(S*J))
- 590 NEXT J
- 680 POKEV+24,136 :REM MOVE SCREEN AND CHARACTER TABLE
- 690 POKE 56578,PEEK(56578)OR3:POKE 56576,PEEK(56576) AND 252 :REM SELECT BANK 3
- 700 EM=1:LM=1
- 705 POKE V+21,63 :REM ENABLE SPRITES
- 710 FOR Q=1 TO 100000
- 740 POKEV+2,P2(EM) AND 255:POKE V+3,Q2(EM)
- 741 POKE V+16,(PEEK(V+16)AND253)+INT(P2(EM)/256)*2
- 745 PP=P2(EM)+P3(LM):QQ=Q2(EM)+Q3(LM)
- 750 POKEV+0,PP AND 255:POKE V+1,QQ AND 255
- 751 POKE V+16,(PEEK(V+16)AND254)+INT(PP/256)
- 760 EM=EM+1:IFEM>ETHEN EM=1
- 770 LM=LM+1:IF LM>L THEN LM=1
- 800 NEXT Q
- 1400 REM SPRITE DEFINITIONS
- 1450 REM MIDDLE-SIZED PLANET
- 1460 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 1470 DATA0,124,0,1,255,0,3,255,128,3,255,128,7,255,192,7,255,192,3,255,128
- 1480 DATA1,255,0,0,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 1500 REM BIG PLANET
- 1510 DATA0,0,0,0,24,0,1,255,128,7,255,224,31,255,248,63,255,252
- 1520 DATA127,255,254,127,255,254,255,255,255,255,255,255,255,255,255,255,255,255
- 1530 DATA127,255,254,127,255,254,63,255,252,31,255,248,7,255,224,1,255,128
- 1540 DATA0,24,0,0,0,0,0,0,0,0
- 1550 REM SUN (1ST QUADRANT)
- 1560 DATA0,0,3,0,0,127,0,3,255,0,31,255,0,127,255,1,255,255,3,255,255,7,255,255
- 1570 DATA15,255,255,31,255,255,31,255,255,63,255,255,63,255,255,127,255,255
- 1580 DATA127,255,255,255,255,255,255,255,255,255,255,255,255,255,255
- 1590 DATA0,0,0,0,0,0,0
- 1600 REM SUN (2ND QUADRANT)
- 1610 DATA192,0,0,254,0,0,255,192,0,255,248,0,255,254,0,255,255,128,255,255,192
- 1620 DATA255,255,224,255,255,240,255,255,248,255,255,248,255,255,252,255,255,252
- 1630 DATA255,255,254,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255
- 1640 DATA0,0,0,0,0,0,0
- 1650 REM SUN (3RD QUADRANT)
- 1660 DATA255,255,255,255,255,255,255,255,255,255,255,255
- 1670 DATA127,255,255,127,255,255,63,255,255,63,255,255,31,255,255,31,255,255
- 1680 DATA15,255,255,7,255,255,3,255,255,1,255,255,0,127,255,0,31,255,0,3,255
- 1690 DATA0,0,127,0,0,3,0,0,0,0,0,0,0
- 1700 REM SUN (4TH QUADRANT)
- 1710 DATA255,255,255,255,255,255,255,255,255,255,255,255
- 1720 DATA255,255,254,255,255,254,255,255,252,255,255,252,255,255,248,255,255,248
- 1730 DATA255,255,240,255,255,224,255,255,192,255,255,128,255,254,0,255,248,0
- 1740 DATA255,192,0,254,0,0,192,0,0,0,0,0,0,0,0,0
-